<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    <input type="text" id="password">
    <input type="text" id="password2">
</body>
<script>
    
    // function fn(a,b,c){
    //     return a + b + c;
    // }
    // console.log(fn(3,5,4))
    // console.log(fn(3,6))

    // function fn(a){
    //     return function(b){
    //         return function(c){
    //             return a + b + c;
    //         }
    //     }
    // }
    // const f = fn(2)(5);
    // console.log(f);
    // console.log( f(4) );

    // =======

    const pwReg = /^\d{6,9}$/;
    const unReg = /^\w{6,9}$/;

    const un = document.getElementById("username")
    const pw = document.getElementById("password")
    const pw2 = document.getElementById("password2")

    un.onblur = function(){
        console.log( test(unReg)(this.value) );
    }

    // 验证功能柯里化后，可以先将验证密码的正则作为参数传入，得到专门用来验证密码的功能
    const pwTest = test(pwReg);

    pw.onblur = function(){
        // 使用专门验证密码的功能，只验证（传入）密码，即可
        console.log( pwTest(this.value) );
    }
    pw2.onblur = function(){
        // 使用专门验证密码的功能，只验证（传入）密码，即可
        console.log( pwTest(this.value) );
    }


    function test(reg){
        return function(str){
            return reg.test(str);
        }
    }


</script>
</html>